প্যাসক্যাল ভাষায় Enumerated এবং Subrange দুটি ডেটা টাইপ রয়েছে, যা প্রোগ্রামারদের নির্দিষ্ট মানের মধ্যে সঞ্চালন করতে সাহায্য করে। এই দুটি টাইপ প্রোগ্রামিংয়ের উন্নত কাঠামো তৈরি করতে ব্যবহৃত হয়, যেখানে নির্দিষ্ট সীমার মধ্যে ভ্যালু কাস্টমাইজ করা যায়।
১. Enumerated টাইপ
Enumerated টাইপ হল এমন একটি ডেটা টাইপ যা নির্দিষ্ট কিছু মান (values) বা কনস্ট্যান্টগুলির সমষ্টি প্রতিনিধিত্ব করে। এটি এমন সময় ব্যবহৃত হয় যখন আমাদের একটি ডেটা টাইপের মধ্যে পূর্বনির্ধারিত মান গুলির মধ্যে কোন একটিকে নির্বাচন করতে হয়।
উদাহরণ:
program EnumeratedExample;
type
DaysOfWeek = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);
var
today: DaysOfWeek;
begin
today := Friday; { আজ শুক্রবার }
writeln('Today is: ', today);
end.এই প্রোগ্রামে DaysOfWeek একটি Enumerated টাইপ হিসেবে ঘোষণা করা হয়েছে, যেখানে সাতটি দিন (Sunday থেকে Saturday) মান হিসেবে ব্যবহার করা হয়েছে। আমরা today নামক ভেরিয়েবলটি ব্যবহার করে কোন দিনকে সেট করতে পারি।
Enumerated টাইপের বৈশিষ্ট্য:
- মানের সীমা: Enumerated টাইপের মধ্যে একটি সীমাবদ্ধ সেট থাকে, যা আগেই নির্ধারিত থাকে।
- ভ্যালু নির্বাচন: প্রোগ্রামে আমরা সেগুলির মধ্যে যেকোনো একটিকে নির্বাচন করতে পারি।
- সংরক্ষণ: এই ধরনের টাইপ সাধারণত খুব কম মেমরি জায়গা নেয় কারণ প্রতিটি মানের একটি অর্ডার বা ইন্ডেক্স থাকে।
২. Subrange টাইপ
Subrange টাইপ হল একটি ডেটা টাইপ যা নির্দিষ্ট সংখ্যার রেঞ্জের মধ্যে মান গুলিকে সীমাবদ্ধ করে। এটি প্যাসক্যালের একটি শক্তিশালী বৈশিষ্ট্য, যেখানে আপনি একটি পূর্ণসংখ্যা বা অন্যান্য ডেটা টাইপের সীমা নির্দিষ্ট করতে পারেন।
উদাহরণ:
program SubrangeExample;
type
Age = 0..120; { Age টাইপ একটি Subrange টাইপ }
var
myAge: Age;
begin
myAge := 25; { বয়স ২৫ }
writeln('Your age is: ', myAge);
end.এখানে, Age হল একটি Subrange টাইপ, যেখানে বয়সের জন্য সীমা ০ থেকে ১২০ পর্যন্ত নির্ধারণ করা হয়েছে। এর ফলে, myAge ভেরিয়েবলটি শুধুমাত্র ০ থেকে ১২০ এর মধ্যে যে কোন ভ্যালু ধারণ করতে পারে।
Subrange টাইপের বৈশিষ্ট্য:
- সীমাবদ্ধতা: এটি একটি নির্দিষ্ট সীমার মধ্যে ডেটা প্রবাহ পরিচালনা করতে ব্যবহৃত হয়।
- সংরক্ষণ: এটি সাধারণত অনেক কম মেমরি ব্যবহার করে, কারণ আপনি একটি নির্দিষ্ট পরিসরের মধ্যে মান সেট করতে পারেন।
- যাচাই: যখন কোন মান এই সীমার বাইরে চলে যায়, তখন একটি ত্রুটি ঘটবে (যেমন: ১৫০ যদি
Ageটাইপে সংরক্ষিত হয়)।
Enumerated এবং Subrange টাইপের তুলনা
| বৈশিষ্ট্য | Enumerated টাইপ | Subrange টাইপ |
|---|---|---|
| প্রকার | নির্দিষ্ট মানের সেট | একটি সংখ্যার বা মানের রেঞ্জ |
| ডেটা টাইপ | একাধিক কনস্ট্যান্ট মান | একটি পরিসরের মধ্যে সীমাবদ্ধ মান |
| ব্যবহার | নির্দিষ্ট মানের নির্বাচন | সংখ্যার সীমা বা সীমাবদ্ধ রেঞ্জের জন্য |
| সীমা | মানের সংখ্যা নির্ধারিত | সর্বনিম্ন এবং সর্বোচ্চ মান দিয়ে সীমাবদ্ধ |
সারাংশ
Enumerated এবং Subrange টাইপগুলি প্যাসক্যাল ভাষায় ডেটা পরিচালনার উন্নত উপায় হিসেবে ব্যবহৃত হয়। Enumerated টাইপ নির্দিষ্ট কিছু মানের মধ্যে সীমাবদ্ধ থাকে, যেখানে Subrange টাইপ একটি সংখ্যার পরিসরের মধ্যে মান সঞ্চালন করতে ব্যবহৃত হয়। এই দুটি টাইপই প্রোগ্রামিংয়ের গঠন ও কোডের দক্ষতা বৃদ্ধি করতে সাহায্য করে।
Read more